/**
 * 获取页面元素的位置的方法.这个方法最终返回的是一个矩形对象,包括四个属性:left top right bottom
 {
    top: '元素顶部相对于视口顶部的距离',
    bottom: '元素底部相对于视口顶部的距离',
    left: '元素左边相对于视口左边的距离',
    right: '元素右边相对于视口左边的距离',
    height: '元素高度',
    width: '元素宽度'
 }
 ie9以下浏览器只支持 getBoundingClientRect 方法的 top 、bottom、right、left属性；
 ie9 和其它浏览器支持 getBoundingClientRect 方法 有6个属性 top 、bottom、right、left、width和height
 * @param el
 * @returns {{top: number, left: number, bottom: number, width: (number|number), right: number, height: (number|number)}}
 */
export function getElBound(el) {
  if (el) {
    const {top, bottom, left, right, height, width} = el.getBoundingClientRect()
    return {
      top,
      bottom,
      left,
      right,
      height: height || bottom - top,
      width: width || right - left
    }
  }
}

/**
 * 判断元素是否进入视口可视区域
 * @param el
 * @returns {boolean}
 */
export function isIn(el) {
  const bound = getElBound(el);
  return bound.top <= window.innerHeight;
}

/**
 * 768尺寸
 * @returns {boolean}
 */
export function is768() {
  return window.matchMedia("(max-width: 768px)").matches
}

/**
 * 1440尺寸
 * @returns {boolean}
 */
export function is1440() {
  return window.matchMedia("(max-width: 1440px)").matches
}

/**
 * 1920尺寸
 * @returns {boolean}
 */
export function is1920() {
  return window.matchMedia("(max-width: 1920px)").matches
}

/**
 * 切换语言
 * @param item
 */
export function toggleLang(item) {
  console.log(item)
  document.cookie = `locale=${item.code}`
  window.location.reload()
}
